package com.huike.web.controller.review;


import com.huike.common.core.controller.BaseController;
import com.huike.common.core.domain.AjaxResult;
import com.huike.common.core.page.TableDataInfo;
import com.huike.review.pojo.Review;
import com.huike.review.service.ReviewService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;

/**
 * 该Controller主要是为了复习三层架构以及Mybatis使用的，该部分接口已经放开权限，可以直接访问
 * 同学们在此处编写接口通过浏览器访问看是否能完成最简单的增删改查
 */
@RestController
@RequestMapping("/review")
public class MybatisReviewController extends BaseController {

    @Autowired
    private ReviewService reviewService;
//
//    @GetMapping("")
//    public Review add(){
//
//
//    }

    /**=========================================================新增数据============================================*/
//增加 传入一个json对象
      @PostMapping
    public TableDataInfo add(@RequestBody Review review){
          TableDataInfo info = new TableDataInfo();
          int add = reviewService.add(review);
          if (add>0){

              info.setMsg("成功插入");
              info.setCode(200);
//              return AjaxResult.success("成功插入:1条数据",200);
              return info;
          }else {
              info.setMsg("插入失败");
              return info;
          }
      }
    /**=========================================================删除数据=============================================*/
    @DeleteMapping
    public TableDataInfo delete(int id){
        TableDataInfo info = new TableDataInfo();
        int delete = reviewService.delete(id);
        if (delete>0){
            info.setCode(200);
            info.setMsg("成功删除:1条数据");
            return info;
        }else {
            info.setMsg("删除失败");
            return info;
        }
    }
    /**=========================================================修改数据=============================================*/
    @PutMapping
    public TableDataInfo update(@RequestBody Review review){
        TableDataInfo info = new TableDataInfo();
        int update = reviewService.update(review);
        if (update>0){
            info.setMsg("更新成功");
            info.setCode(200);
            return info;
        }else {
            info.setMsg("更新失败");
            info.setCode(500);
            return info;
        }
    }
    /**=========================================================查询数据=============================================*/
    @GetMapping
    public AjaxResult selectById(int id){
        Review data = reviewService.selectById(id);
        if (data!=null){
//            return AjaxResult.success(i);
            TableDataInfo info = new TableDataInfo();
            info.setCode(200);
//            info.setMsg("查询成功");
//            HashMap<String, Review> map = new HashMap<>();
//            map.put(,data);
//            info.setParams(map);
            return AjaxResult.success("查询成功",data);
        }else {
            return AjaxResult.error("查询失败");
        }
    }
}